The Internet, originally designed for static data, is increasingly becoming a platform on which also multimedia data such as audio and video data is transported. Traditionally, data transmission on the Internet takes place in such a way that the available data is present on a server and wait for a user to retrieve them. Here, there is always a certain time span between the production of data and the processing by a user.
Streaming technology pursues another approach, in which the transmitted contents, for example a television program or a radio program, already appear on the user's end during the transmission, so in other words, said user can follow the television or radio program live. Here, it is usually neither required nor desired that the entire program be recorded by the user. This type of transmission is also referred to as real-time transmission, since the data is present on the user's end and is reproduced with no major time lag.
For the purposes of the present application, a program to be transmitted consists of one or more types of different multimedia data, such as motion picture, sound, graphics, texts, applications or any other data. The entire content of a program, in its chronological sequence, forms a data stream that must be transmitted from the producer to the viewers when transmitting a program.
Here, the basic problem arose that providing a data stream to a plurality of viewers in data networks usually involves great effort and high costs.
With the aid of so-called multicast technologies, data can be distributed simultaneously to many subscribers in a network. However, this requires special equipment for the data network, and in particular, the routers must be multicast-capable. Moreover, the configuration and operation of such networks is complicated and arduous.
Thus, many data networks do not have multicast technology, for example multicast is generally not possible on the Internet. In large networks, for which the Internet is one example, multimedia data is thus typically transmitted directly from a particular producer to the individual viewers. For this purpose, the viewer sets up a point-to-point connection to the producer server, for example a TCP/IP (Transmission Control Protocol/Internet Protocol) connection or a UDP/IP- (User Datagram Protocol-) based connection in IP-based networks.
Alternatively, the producer may also install various data servers or employ the services of already installed data servers. In this case, the data is first distributed by the producer to the various data servers. A viewer who wants to receive the data is referred to a data server. A point-to-point connection over which the data is transmitted is set up between data server and viewer.
A drawback of these methods is that, for both alternatives, the producer must provide an adequate network connection. All data is transmitted over point-to-point connections, at one end of which is a data server of the producer and on the other end of which is the viewer. A separate connection must be set up for every viewer, so that, for n viewers, n-fold transmission capacity must be available. Moreover, the n-fold quantity of data to be transmitted accumulates for the producer, since the data has to be transmitted to each viewer separately. If the producer wants to reach many viewers, he is forced to make large bandwidths available. If his program is successful, large quantities of transmitted data accumulate. In both cases, the producer must expect high costs.
A further disadvantage is that the available software is difficult to operate due to the complex technology and requires special training for the operating staff.